package Temp.杂乱无章;

/*        10 是一个非常特殊的数，它可以表示成两个非负整数的平方和，10 = 3 * 3 + 1 * 1。
        9 也是同样特殊的数，它可以表示成 9 = 3 * 3 + 0 * 0。
        请问，在 1 到 2021 中有多少个这样的数？
        请注意，有的数有多种表示方法，例如 25 = 5 * 5 + 0 * 0 = 3 * 3 + 4 * 4，在算答案时只算一次。*/
public class 特殊的数 {
        static int sum = 0;

        public static void main(String[] args) {
            for (int i = 1; i <= 2021; i++) {
                if (X(i)) sum++;
            }
            System.out.println(sum);
        }

        public static boolean X(int a) {
            for (int i = 0; i <= Math.sqrt(a); i++) {
                for (int j = 0; j <= Math.sqrt(a); j++) {
                    if (a == i * i + j * j) return true;
                }
            }
            return false;
        }
    }
    
